this also fixes a bug where we could fail to entitize wpt->description.
this also fixes a bug where we could create illegal fragments and id
attributes.
mkshort_del_handle(&mkshort_handle);
}
+QString HtmlFormat::create_id(int sequence_number)
+{
+ // It's easier to create a legal fragment and identifer from scratch than
+ // from user supplied text.
+ return QStringLiteral("WPT%1").arg(sequence_number, 3, 10, QChar('0'));
+}
+
void
HtmlFormat::html_disp(const Waypoint* wpt) const
{
GPS_Math_WGS84_To_UTM_EN(wpt->latitude, wpt->longitude,
&utme, &utmn, &utmz, &utmzc);
- *file_out << "\n<a name=\"" << wpt->shortname << "\"><hr></a>\n";
- *file_out << "<table width=\"100%\">\n";
+ *file_out << " <div id=\"" << create_id(waypoint_number) << "\"><hr>\n";
+ *file_out << " <table style=\"width:100%\">\n";
QString sn = global_opts.synthesize_shortnames ? mkshort_from_wpt(mkshort_handle, wpt) : wpt->shortname;
- *file_out << "<tr><td><p class=\"gpsbabelwaypoint\">" << sn << " - ";
+ *file_out << " <tr>\n";
+ *file_out << " <td>\n";
+ *file_out << " <p class=\"gpsbabelwaypoint\">" << sn << " - ";
*file_out << QStringLiteral("%1 (%2%3 %4 %5)")
.arg(pretty_deg_format(wpt->latitude, wpt->longitude, degformat[2], " ", true))
.arg(utmz)
*file_out << "<a href=\"" << wpt->GetUrlLink().url_ << "\">"
<< html_entitize(wpt->description) << "</a>";
} else {
- *file_out << wpt->description;
+ *file_out << html_entitize(wpt->description);
}
if (!wpt->gc_data->placer.isEmpty()) {
*file_out << " by " << wpt->gc_data->placer;
}
}
- *file_out << "</p></td>\n";
+ *file_out << "</p>\n";
+ *file_out << " </td>\n";
- *file_out << "<td align=\"right\">";
+ *file_out << " <td style=\"text-align:right\">\n";
if (wpt->gc_data->terr) {
- *file_out << QStringLiteral("<p class=\"gpsbabelcacheinfo\">%1%2 / %3%4<br>\n")
+ *file_out << QStringLiteral(" <p class=\"gpsbabelcacheinfo\">%1%2 / %3%4<br>\n")
.arg((int)(wpt->gc_data->diff / 10))
.arg((wpt->gc_data->diff%10) ? "½" : "")
.arg((int)(wpt->gc_data->terr / 10))
.arg((wpt->gc_data->terr%10) ? "½" : "");
*file_out << gs_get_cachetype(wpt->gc_data->type) << " / "
- << gs_get_container(wpt->gc_data->container) << "</p>";
+ << gs_get_container(wpt->gc_data->container) << "</p>\n";
}
- *file_out << "</td></tr>\n";
+ *file_out << " </td>\n";
+ *file_out << " </tr>\n";
- *file_out << "<tr><td colspan=\"2\">";
+ *file_out << " <tr>\n";
+ *file_out << " <td colspan=\"2\">\n";
if (!wpt->gc_data->desc_short.utfstring.isEmpty()) {
- *file_out << "<p class=\"gpsbabeldescshort\">"
- << strip_nastyhtml(wpt->gc_data->desc_short.utfstring) << "</p>\n";
+ *file_out << " <div><p class=\"gpsbabeldescshort\">"
+ << strip_nastyhtml(wpt->gc_data->desc_short.utfstring) << "</div>\n";
}
if (!wpt->gc_data->desc_long.utfstring.isEmpty()) {
- *file_out << "<p class=\"gpsbabeldesclong\">"
- << strip_nastyhtml(wpt->gc_data->desc_long.utfstring) << "</p>\n";
+ *file_out << " <div><p class=\"gpsbabeldesclong\">"
+ << strip_nastyhtml(wpt->gc_data->desc_long.utfstring) << "</div>\n";
}
if (!wpt->gc_data->hint.isEmpty()) {
QString hint;
} else {
hint = wpt->gc_data->hint;
}
- *file_out << "<p class=\"gpsbabelhint\"><strong>Hint:</strong> "
+ *file_out << " <p class=\"gpsbabelhint\"><strong>Hint:</strong> "
<< hint << "</p>\n";
} else if (!wpt->notes.isEmpty() && (wpt->description.isEmpty() || wpt->notes != wpt->description)) {
- *file_out << "<p class=\"gpsbabelnotes\">" << wpt->notes << "</p>\n";
+ *file_out << " <p class=\"gpsbabelnotes\">" << wpt->notes << "</p>\n";
}
if (includelogs) {
xml_tag* curlog = xml_findfirst(root, "groundspeak:log");
while (curlog) {
time_t logtime = 0;
- *file_out << "<p class=\"gpsbabellog\">\n";
+ *file_out << " <p class=\"gpsbabellog\">\n";
xml_tag* logpart = xml_findfirst(curlog, "groundspeak:type");
if (logpart) {
}
}
}
- *file_out << "</td></tr>\n";
- *file_out << "</table>\n";
+ *file_out << " </td>\n";
+ *file_out << " </tr>\n";
+ *file_out << " </table>\n";
+ *file_out << " </div>\n";
}
void
HtmlFormat::html_index(const Waypoint* wpt) const
{
- *file_out << QStringLiteral("<a href=\"#%1\">%1 - %2</a><br>\n")
- .arg(html_entitize(wpt->shortname), html_entitize(wpt->description));
+ *file_out << " <a href=\"#" << create_id(waypoint_number) << "\">"
+ << html_entitize(wpt->shortname) << " - " << html_entitize(wpt->description)
+ << "</a><br>\n";
}
void
{
setshort_length(mkshort_handle, 6);
- *file_out << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
+ *file_out << "<!DOCTYPE html>\n";
*file_out << "<html>\n";
*file_out << "<head>\n";
- *file_out << " <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\">\n";
+ *file_out << " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n";
// Don't write this line when running test suite. Actually, we should
// probably not write this line at all...
if (!gpsbabel_testmode()) {
- *file_out << " <meta name=\"Generator\" content=\"GPSBabel "
+ *file_out << " <meta name=\"Generator\" content=\"GPSBabel "
<< gpsbabel_version << "\">\n";
}
- *file_out << " <title>GPSBabel HTML Output</title>\n";
+ *file_out << " <title>GPSBabel HTML Output</title>\n";
if (stylesheet) {
- *file_out << " <link rel=\"stylesheet\" type=\"text/css\" href=\""
+ *file_out << " <link rel=\"stylesheet\" type=\"text/css\" href=\""
<< stylesheet << "\">\n";
} else {
- *file_out << " <style>\n";
- *file_out << " p.gpsbabelwaypoint { font-size: 120%; font-weight: bold }\n";
- *file_out << " </style>\n";
+ *file_out << " <style>\n";
+ *file_out << " p.gpsbabelwaypoint { font-size: 120%; font-weight: bold }\n";
+ *file_out << " </style>\n";
}
*file_out << "</head>\n";
*file_out << "<body>\n";
- *file_out << "<p class=\"index\">\n";
+ *file_out << " <p class=\"index\">\n";
auto html_index_lambda = [this](const Waypoint* waypointp)->void {
+ waypoint_number++;
html_index(waypointp);
};
+ waypoint_number = 0;
waypt_disp_all(html_index_lambda);
- *file_out << "</p>\n";
+ *file_out << " </p>\n";
auto html_disp_lambda = [this](const Waypoint* waypointp)->void {
+ waypoint_number++;
html_disp(waypointp);
};
+ waypoint_number = 0;
waypt_disp_all(html_disp_lambda);
*file_out << "</body>\n";
private:
/* Member Functions */
+ static QString create_id(int sequence_number);
void html_disp(const Waypoint* wpt) const;
void html_index(const Waypoint* wpt) const;
gpsbabel::TextStream* file_out{nullptr};
short_handle mkshort_handle{};
+ int waypoint_number{};
+
char* stylesheet = nullptr;
char* html_encrypt = nullptr;
char* includelogs = nullptr;
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!DOCTYPE html>
<html>
<head>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
- <title>GPSBabel HTML Output</title>
- <style>
- p.gpsbabelwaypoint { font-size: 120%; font-weight: bold }
- </style>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>GPSBabel HTML Output</title>
+ <style>
+ p.gpsbabelwaypoint { font-size: 120%; font-weight: bold }
+ </style>
</head>
<body>
-<p class="index">
-<a href="#GC7FA4">GC7FA4 - Points géodésiques du Québec</a><br>
-</p>
-
-<a name="GC7FA4"><hr></a>
-<table width="100%">
-<tr><td><p class="gpsbabelwaypoint">GC7FA4 - N46°08.000 W73°00.000 (18T 654491 5110806)<br>
-<a href="http://www.geocaching.com/seek/cache_details.aspx?guid=727f9d2c-f080-41f1-a2c9-a326ead462ed">Points géodésiques du Québec</a> by Sverdrup2</p></td>
-<td align="right"><p class="gpsbabelcacheinfo">1 / 1<br>
-Locationless (Reverse) Cache / Virtual</p></td></tr>
-<tr><td colspan="2"><p class="gpsbabeldescshort">LES COORDONÉES PUBLIÉES NE REPRÉSENTENT PAS LA LOCALISATION D'UNE CACHE
-PUBLISHED COORDINATES DO NOT REPRESENT THE LOCALIZATION OF A CACHE</p>
-<p class="gpsbabeldesclong">Le but de cette cache virtuelle est de trouver les points géodésiques du territoire québécois. Les points géodésiques sont faciles à identifier (capuchons de laiton au niveau du sol). Généralement, il y a un panneau de couleur orange sur un poteau à proximité du point. Sur ce panneau, le numéro du point est identifié. Aussi, la distance relative du panneau au point est indiquée.
+ <p class="index">
+ <a href="#WPT001">GC7FA4 - Points géodésiques du Québec</a><br>
+ </p>
+ <div id="WPT001"><hr>
+ <table style="width:100%">
+ <tr>
+ <td>
+ <p class="gpsbabelwaypoint">GC7FA4 - N46°08.000 W73°00.000 (18T 654491 5110806)<br>
+<a href="http://www.geocaching.com/seek/cache_details.aspx?guid=727f9d2c-f080-41f1-a2c9-a326ead462ed">Points géodésiques du Québec</a> by Sverdrup2</p>
+ </td>
+ <td style="text-align:right">
+ <p class="gpsbabelcacheinfo">1 / 1<br>
+Locationless (Reverse) Cache / Virtual</p>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <div><p class="gpsbabeldescshort">LES COORDONÉES PUBLIÉES NE REPRÉSENTENT PAS LA LOCALISATION D'UNE CACHE
+PUBLISHED COORDINATES DO NOT REPRESENT THE LOCALIZATION OF A CACHE</div>
+ <div><p class="gpsbabeldesclong">Le but de cette cache virtuelle est de trouver les points géodésiques du territoire québécois. Les points géodésiques sont faciles à identifier (capuchons de laiton au niveau du sol). Généralement, il y a un panneau de couleur orange sur un poteau à proximité du point. Sur ce panneau, le numéro du point est identifié. Aussi, la distance relative du panneau au point est indiquée.
<P>
Pour inscrire votre découverte, vous devez prendre en note le NUMÉRO DU POINT(inscrit sur le point même ou au centre du panneau)LA COORDONNÉE(en format HDDD MM.MM WGS84 datum ET UTM NAD83 indiquer la zone SVP)et L'ALTITUDE RELATIVE. Si le points n'est pas visible (il se peut qu'il soit sous quelques centimètres de terre) vous pouvez prendre la coordonnée à l'emplacement du panneau SI LA PRÉCISION DE VOTRE GPS EST SUPÉRIEUR À LA DISTANCE INSCRITE SUR LE PANNEAU (ex : Précison du GPS de 5m et distance au point inscrite sur le panneau de 3m).
<P>
<P>
PICTURES of points and of the panels will follow soon. YOU CAN ONLY LOG ONE POINT (ONE POINT PER GEOCACHER)
-Good luck!</p>
-<p class="gpsbabellog">
+Good luck!</div>
+ <p class="gpsbabellog">
<span class="gpsbabellogtype">Found it</span> by <span class="gpsbabellogfinder">Christopher R & Pooh B</span> on <span class="gpsbabellogdate">2005-07-12</span><br>
<span class="gpsbabellogcoords">N48°10.207 W53°58.097</span><br>
This marker is not in Quebec but it is a Geodesic marker in Clarenville, Newfoundland, Canada!
Ce marqueur n'est pas au Québec mais c'est un marqueur géodésique dans Clarenville, Terre-Neuve, Canada!
A trouvé celui-ci tandis que chasse une cachette traditionnelle et pensé à cette cachette tout de suite! Elle est située sur la montagne nue dans Clarenville - il y a aactually deux marqueurs à moins de 15 pieds d'un des autres sur la montagne nue... Ours De Pooh De Sourires</p>
-<p class="gpsbabellog">
+ <p class="gpsbabellog">
<span class="gpsbabellogtype">Found it</span> by <span class="gpsbabellogfinder">TravelBen</span> on <span class="gpsbabellogdate">2005-06-26</span><br>
<span class="gpsbabellogcoords">N45°26.872 W73°56.410</span><br>
[:D] 14h22
Ce marqueur se trouve dans le ville de Senneville, sur un monument décrivant une page d'histoire du Québec, sur le bas côté avant droit.
Près de la cache: Exo-07 La Jumelle de Loudiver (GCP3VE)</p>
-<p class="gpsbabellog">
+ <p class="gpsbabellog">
<span class="gpsbabellogtype">Found it</span> by <span class="gpsbabellogfinder">etasse</span> on <span class="gpsbabellogdate">2005-06-03</span><br>
<span class="gpsbabellogcoords">N45°29.525 W75°43.005</span><br>
MRN marker 94K4731 in Gatineau, QC. corner of Du Rhone and Gatineau Ave.
This pole has everything: An underground cable warning, a geodesic mark, a bus stop and a garage sale sign.
Judging by the coordinates it looks like the coords should be 45°29'31.5" -75°43'0" I placed the GPS antenna right against the marker, to no avail.</p>
-<p class="gpsbabellog">
+ <p class="gpsbabellog">
<span class="gpsbabellogtype">Found it</span> by <span class="gpsbabellogfinder">Katou</span> on <span class="gpsbabellogdate">2005-06-03</span><br>
<span class="gpsbabellogcoords">N46°37.091 W71°55.974</span><br>
Un bo point géodésique a Lotbinière..en allant faire une nouvelle cache a l'île richelieu ;-)</p>
-<p class="gpsbabellog">
+ <p class="gpsbabellog">
<span class="gpsbabellogtype">Found it</span> by <span class="gpsbabellogfinder">Gps_Gulliver&DauphinBleu</span> on <span class="gpsbabellogdate">2005-05-29</span><br>
<span class="gpsbabellogcoords">N45°32.449 W73°30.747</span><br>
Point Geodesique situe near Port de Plaisance de Longueuil
sur le bord du fleuve st-laurent.
Il y a des sentiers et une grande piste cyclable
Enjoy !</p>
-</td></tr>
-</table>
+ </td>
+ </tr>
+ </table>
+ </div>
</body>
</html>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!DOCTYPE html>
<html>
<head>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
- <title>GPSBabel HTML Output</title>
- <style>
- p.gpsbabelwaypoint { font-size: 120%; font-weight: bold }
- </style>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>GPSBabel HTML Output</title>
+ <style>
+ p.gpsbabelwaypoint { font-size: 120%; font-weight: bold }
+ </style>
</head>
<body>
-<p class="index">
-<a href="#GCGCA8">GCGCA8 - Oozy rat in a sanitary zoo</a><br>
-</p>
-
-<a name="GCGCA8"><hr></a>
-<table width="100%">
-<tr><td><p class="gpsbabelwaypoint">GCGCA8 - N35°55.300 W86°51.700 (16S 512480 3975269)<br>
-<a href="http://www.geocaching.com/seek/cache_details.aspx?guid=cda94cd6-d657-49bd-8e7e-0031ef1b2613">Oozy rat in a sanitary zoo</a> by robertlipe</p></td>
-<td align="right"><p class="gpsbabelcacheinfo">3 / 2<br>
-Unknown Cache / Unknown</p></td></tr>
-<tr><td colspan="2"><p class="gpsbabeldescshort">The cache is not at the coordinates above. These coords will get you to the correct park and within 1/2 mile of the cache. The cache is within 35 feet of the trail. It is not handicapped accessible. It is a nice walk in the woods that is practical for all ages. There is no space in the container for trading items. You should bring a writing stick and bug spray is recommended.</p>
-<p class="gpsbabeldesclong">So if the cache isn't at the above coordinates, where is it?
+ <p class="index">
+ <a href="#WPT001">GCGCA8 - Oozy rat in a sanitary zoo</a><br>
+ </p>
+ <div id="WPT001"><hr>
+ <table style="width:100%">
+ <tr>
+ <td>
+ <p class="gpsbabelwaypoint">GCGCA8 - N35°55.300 W86°51.700 (16S 512480 3975269)<br>
+<a href="http://www.geocaching.com/seek/cache_details.aspx?guid=cda94cd6-d657-49bd-8e7e-0031ef1b2613">Oozy rat in a sanitary zoo</a> by robertlipe</p>
+ </td>
+ <td style="text-align:right">
+ <p class="gpsbabelcacheinfo">3 / 2<br>
+Unknown Cache / Unknown</p>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <div><p class="gpsbabeldescshort">The cache is not at the coordinates above. These coords will get you to the correct park and within 1/2 mile of the cache. The cache is within 35 feet of the trail. It is not handicapped accessible. It is a nice walk in the woods that is practical for all ages. There is no space in the container for trading items. You should bring a writing stick and bug spray is recommended.</div>
+ <div><p class="gpsbabeldesclong">So if the cache isn't at the above coordinates, where is it?
<ul>
Now that it's intuitively obvious to even the most casual observer where the cache is, turn on your geo-mojo and go find it.
<br>
-<img SRC="http://www.mtgc.org/mtgc_member-banner.gif" WIDTH="500" HEIGHT="40" ALT="Member of Middle Tennessee GeoCachers Club [www.mtgc.org]" BORDER="0"></a></p></p>
-<p class="gpsbabelhint"><strong>Hint:</strong> There Is No Hint</p>
-</td></tr>
-</table>
+<img SRC="http://www.mtgc.org/mtgc_member-banner.gif" WIDTH="500" HEIGHT="40" ALT="Member of Middle Tennessee GeoCachers Club [www.mtgc.org]" BORDER="0"></a></p></div>
+ <p class="gpsbabelhint"><strong>Hint:</strong> There Is No Hint</p>
+ </td>
+ </tr>
+ </table>
+ </div>
</body>
</html>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!DOCTYPE html>
<html>
<head>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
- <title>GPSBabel HTML Output</title>
- <style>
- p.gpsbabelwaypoint { font-size: 120%; font-weight: bold }
- </style>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>GPSBabel HTML Output</title>
+ <style>
+ p.gpsbabelwaypoint { font-size: 120%; font-weight: bold }
+ </style>
</head>
<body>
-<p class="index">
-<a href="#GCGCA8">GCGCA8 - Oozy rat in a sanitary zoo</a><br>
-</p>
-
-<a name="GCGCA8"><hr></a>
-<table width="100%">
-<tr><td><p class="gpsbabelwaypoint">GCGCA8 - N35°55.300 W86°51.700 (16S 512480 3975269)<br>
-<a href="http://www.geocaching.com/seek/cache_details.aspx?guid=cda94cd6-d657-49bd-8e7e-0031ef1b2613">Oozy rat in a sanitary zoo</a> by robertlipe</p></td>
-<td align="right"><p class="gpsbabelcacheinfo">3 / 2<br>
-Unknown Cache / Unknown</p></td></tr>
-<tr><td colspan="2"><p class="gpsbabeldescshort">The cache is not at the coordinates above. These coords will get you to the correct park and within 1/2 mile of the cache. The cache is within 35 feet of the trail. It is not handicapped accessible. It is a nice walk in the woods that is practical for all ages. There is no space in the container for trading items. You should bring a writing stick and bug spray is recommended.</p>
-<p class="gpsbabeldesclong">So if the cache isn't at the above coordinates, where is it?
+ <p class="index">
+ <a href="#WPT001">GCGCA8 - Oozy rat in a sanitary zoo</a><br>
+ </p>
+ <div id="WPT001"><hr>
+ <table style="width:100%">
+ <tr>
+ <td>
+ <p class="gpsbabelwaypoint">GCGCA8 - N35°55.300 W86°51.700 (16S 512480 3975269)<br>
+<a href="http://www.geocaching.com/seek/cache_details.aspx?guid=cda94cd6-d657-49bd-8e7e-0031ef1b2613">Oozy rat in a sanitary zoo</a> by robertlipe</p>
+ </td>
+ <td style="text-align:right">
+ <p class="gpsbabelcacheinfo">3 / 2<br>
+Unknown Cache / Unknown</p>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <div><p class="gpsbabeldescshort">The cache is not at the coordinates above. These coords will get you to the correct park and within 1/2 mile of the cache. The cache is within 35 feet of the trail. It is not handicapped accessible. It is a nice walk in the woods that is practical for all ages. There is no space in the container for trading items. You should bring a writing stick and bug spray is recommended.</div>
+ <div><p class="gpsbabeldesclong">So if the cache isn't at the above coordinates, where is it?
<ul>
Now that it's intuitively obvious to even the most casual observer where the cache is, turn on your geo-mojo and go find it.
<br>
-<img SRC="http://www.mtgc.org/mtgc_member-banner.gif" WIDTH="500" HEIGHT="40" ALT="Member of Middle Tennessee GeoCachers Club [www.mtgc.org]" BORDER="0"></a></p></p>
-<p class="gpsbabelhint"><strong>Hint:</strong> There Is No Hint</p>
-<p class="gpsbabellog">
+<img SRC="http://www.mtgc.org/mtgc_member-banner.gif" WIDTH="500" HEIGHT="40" ALT="Member of Middle Tennessee GeoCachers Club [www.mtgc.org]" BORDER="0"></a></p></div>
+ <p class="gpsbabelhint"><strong>Hint:</strong> There Is No Hint</p>
+ <p class="gpsbabellog">
<span class="gpsbabellogtype">Found it</span> by <span class="gpsbabellogfinder">littlepod</span> on <span class="gpsbabellogdate">2005-07-03</span><br>
Enjoyed the puzzle. We seemed to be about 50ft off though. TFTC.</p>
-<p class="gpsbabellog">
+ <p class="gpsbabellog">
<span class="gpsbabellogtype">Write note</span> by <span class="gpsbabellogfinder">robertlipe</span> on <span class="gpsbabellogdate">2005-04-29</span><br>
TB Drop to show he's hanging out in Nashville until we blast off for Geowoodstock in a few weeks.</p>
-<p class="gpsbabellog">
+ <p class="gpsbabellog">
<span class="gpsbabellogtype">Found it</span> by <span class="gpsbabellogfinder">Big Bumblebee</span> on <span class="gpsbabellogdate">2005-04-18</span><br>
Found it a while ago. Thanks.</p>
-<p class="gpsbabellog">
+ <p class="gpsbabellog">
<span class="gpsbabellogtype">Write note</span> by <span class="gpsbabellogfinder">robertlipe</span> on <span class="gpsbabellogdate">2005-03-27</span><br>
I had to renew my permit with the CDC and in doing so, I trolled out here verified that the infectious ooze is fully within specification and industry accepted tolerance. Ooze On!</p>
-<p class="gpsbabellog">
+ <p class="gpsbabellog">
<span class="gpsbabellogtype">Found it</span> by <span class="gpsbabellogfinder">Virtual Babe</span> on <span class="gpsbabellogdate">2004-12-27</span><br>
This was a great cache, however on this day I considered it a FIFM cache (Fun, Invigorating, Frustrating and Maddening), especially when the cache was not replaced in the proper spot by the previous cacher! Thanks anyway!!</p>
-<p class="gpsbabellog">
+ <p class="gpsbabellog">
<span class="gpsbabellogtype">Write note</span> by <span class="gpsbabellogfinder">robertlipe</span> on <span class="gpsbabellogdate">2004-01-12</span><br>
I got a complaint from the CDC about oozy rat this weekend. I went out tonight in the dark and verified that the infectious ooze is fully within specification and industry accepted tolerance. (Although I realize now I did misstate the cache container to the reporting officer when confronted. It's, uuuuh, smaller than I said.)</p>
-<p class="gpsbabellog">
+ <p class="gpsbabellog">
<span class="gpsbabellogtype">Write note</span> by <span class="gpsbabellogfinder">robertlipe</span> on <span class="gpsbabellogdate">2003-10-04</span><br>
In the expectation that this cache will get some traffic in the next 48 hours, Ryan and I checked it earlier today. The Rat is Oozing just as we planned it.</p>
-<p class="gpsbabellog">
+ <p class="gpsbabellog">
<span class="gpsbabellogtype">Write note</span> by <span class="gpsbabellogfinder">robertlipe</span> on <span class="gpsbabellogdate">2003-07-03</span><br>
It won't earn him a smiley face, but I've confirmed that rickrich would have indeed sunk the battleship! Thanx for playing. You get a copy of the home game and some rice-a-roni...</p>
-</td></tr>
-</table>
+ </td>
+ </tr>
+ </table>
+ </div>
</body>
</html>